
// check数据
let keys = [1,2,3,4,5,6,7,8,9];

// 缓存数据
let catchLayerDatas = {};

// 渲染数据
let layerDatas = {
    '1': {
        type: 'point',
        jsonData: {},
        layer: null
    }
};


// 请求数据的时候如果catchLayerDatas中没有数据，将请求返回数据缓存至catchLayerDatas，同时存储至layerDatas
// 如果catchLayerDatas中有数据，那么将根据图层名直接从catchLayerDatas中获取数据存储至layerDatas


// 移除
const layerKeys = Object.keys(layerDatas);
layerKeys.forEach(key => {
    const isRemove = keys.find(item => {
        return item === key;
    });

    if(!isRemove){
        // layerDatas 中删除对应的数据
        delete layerDatas[key];
        remove();
    }
});

// 新增
keys.forEach(key => {
    // layerDatas中不存在的为新增
    const isExist = Object.keys(layerDatas).find(item => {
        return item === key;
    });

    if(!isExist){
        // catchLayerDatas中存在
        if(catchLayerDatas[key]){
            layerDatas[key] = catchLayerDatas[key];
            // 渲染
            render();
        }else{
        // catchLayerDatas中不存在，请求
            setTimeout(() => {
                const data = {

                };
                catchLayerDatas[key] = data;
                layerDatas = data;
                render();
            },1000);
        }
    }
});


// 编辑、删除要素   ...待处理


// 渲染
const render = () => {

};

// 移除
const remove = () => {

};

